package com.bothin.experiment4.model;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name = "product_form")
@Data
public class ProductForm {
    /**
     * 货单表主键
     */
    @Id
    @Column(name = "form_id")
    private String formId;

    @Column(name = "contact_id")
    private String contactId;

    @Column(name = "product_id")
    private String productId;

    /**
     * 当数量为负数且form_type为进货单时，表示缺货多少件
     */
    @Column(name = "product_quantity")
    private Integer productQuantity;

    /**
     * 货单类型：0：发货单 1：进货单
     */
    @Column(name = "form_type")
    private Integer formType;

    /**
     * 货单完成状态：0：未发货 1：运输中 2：已完成
     */
    @Column(name = "finsh_status")
    private Integer finshStatus;

    public ProductForm() {
    }

    public ProductForm(String formId, String contactId, String productId, Integer productQuantity, Integer formType, Integer finshStatus) {
        this.formId = formId;
        this.contactId = contactId;
        this.productId = productId;
        this.productQuantity = productQuantity;
        this.formType = formType;
        this.finshStatus = finshStatus;
    }

    /**
     * 获取货单表主键
     *
     * @return form_id - 货单表主键
     */
    public String getFormId() {
        return formId;
    }

    /**
     * 设置货单表主键
     *
     * @param formId 货单表主键
     */
    public void setFormId(String formId) {
        this.formId = formId == null ? null : formId.trim();
    }

    /**
     * @return contact_id
     */
    public String getContactId() {
        return contactId;
    }

    /**
     * @param contactId
     */
    public void setContactId(String contactId) {
        this.contactId = contactId == null ? null : contactId.trim();
    }

    /**
     * @return product_id
     */
    public String getProductId() {
        return productId;
    }

    /**
     * @param productId
     */
    public void setProductId(String productId) {
        this.productId = productId == null ? null : productId.trim();
    }

    /**
     * 获取当数量为负数且form_type为进货单时，表示缺货多少件
     *
     * @return product_quantity - 当数量为负数且form_type为进货单时，表示缺货多少件
     */
    public Integer getProductQuantity() {
        return productQuantity;
    }

    /**
     * 设置当数量为负数且form_type为进货单时，表示缺货多少件
     *
     * @param productQuantity 当数量为负数且form_type为进货单时，表示缺货多少件
     */
    public void setProductQuantity(Integer productQuantity) {
        this.productQuantity = productQuantity;
    }

    /**
     * 获取货单类型：0：发货单 1：进货单
     *
     * @return form_type - 货单类型：0：发货单 1：进货单
     */
    public Integer getFormType() {
        return formType;
    }

    /**
     * 设置货单类型：0：发货单 1：进货单
     *
     * @param formType 货单类型：0：发货单 1：进货单
     */
    public void setFormType(Integer formType) {
        this.formType = formType;
    }

    /**
     * 获取货单完成状态：0：未完成 1：已收货 2：已完成
     *
     * @return finsh_status - 货单完成状态：0：未完成 1：已收货 2：已完成
     */
    public Integer getFinshStatus() {
        return finshStatus;
    }

    /**
     * 设置货单完成状态：0：未完成 1：已收货 2：已完成
     *
     * @param finshStatus 货单完成状态：0：未完成 1：已收货 2：已完成
     */
    public void setFinshStatus(Integer finshStatus) {
        this.finshStatus = finshStatus;
    }
}